#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cmath>
#include <windows.h>
#include "BasicMath.h"

const double Ma_list[] = { 2.0,4.0,6.0,8.0 };
const double af_list[] = { -4.0,-2.0,0.0,2.0,4.0,6.0,8.0 };
const double bt_list[] = { -3.0,-2.0,-1.0,0.0,1.0,2.0,3.0 };

int main() 
{
	const int Ma_len = sizeof(Ma_list) / sizeof(double);
	const int af_len = sizeof(af_list) / sizeof(double);
	const int bt_len = sizeof(bt_list) / sizeof(double);

	Matrix MOUT(Ma_len * af_len * bt_len, 4);
	int ite = 1;
	for (int i = 0; i < Ma_len; i++)
		for (int j = 0; j < af_len; j++)
			for (int k = 0; k < bt_len; k++)
			{
				MOUT[ite][1] = Ma_list[i];
				MOUT[ite][2] = af_list[j];
				MOUT[ite][3] = bt_list[k];
				//MOUT[ite][4] = (80.0 + pow(Ma_list[i], 0.2) * (pow(af_list[j], 2) + pow(bt_list[k], 2))) / 200.0;
				//MOUT[ite][4] = pow(Ma_list[i], 0.2) * af_list[j] * (1.0 + pow(fabs(bt_list[k]), 0.2)) / 10.0;
				MOUT[ite][4] = -pow(Ma_list[i], 0.2) * bt_list[k] * (1.0+pow(fabs(af_list[j]), 0.2)) / 10.0;
				ite++;
			}
	MOUT.SaveCSV("CZ_LIST.csv");

	system("pause");
	return 0;
}